From f2685ddf5e0bdaaaf28d7b4abd49b8d9c29a031b Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Fri, 8 Jan 2016 14:58:25 -0800 Subject: [PATCH] colorswatch: don't apply padding twice Instead of taking the border and manually removing it from the allocation, render our background over all the border allocation box, as that's more correct and does not take padding into account twice. --- gtk/gtkcolorswatch.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/gtk/gtkcolorswatch.c b/gtk/gtkcolorswatch.c index c7783b3519..7d1b9ea0f7 100644 --- a/gtk/gtkcolorswatch.c +++ b/gtk/gtkcolorswatch.c @@ -120,14 +120,19 @@ gtk_color_swatch_render (GtkCssGadget *gadget, { cairo_pattern_t *pattern; cairo_matrix_t matrix; - GtkBorder border; + GtkAllocation allocation, border_allocation; + + gtk_widget_get_allocation (widget, &allocation); + gtk_css_gadget_get_border_allocation (gadget, &border_allocation, NULL); + + border_allocation.x -= allocation.x; + border_allocation.y -= allocation.y; - gtk_style_context_get_border (context, gtk_style_context_get_state (context), &border); gtk_render_content_path (context, cr, - x - border.left, - y - border.top, - width + border.left + border.right, - height + border.top + border.bottom); + border_allocation.x, + border_allocation.y, + border_allocation.width, + border_allocation.height); if (swatch->priv->use_alpha) { -- 2.30.2